package futbol.tacticas.concursantes.newTeam;

import java.util.ArrayList;
import java.util.Vector;


import futbol.tacticas.Comando;
import futbol.tacticas.SituacionJugadores;

public abstract class BatallonDefensivo extends ArrayList<Personalitat>
{
	public Tecnico tec;
	public SituacionJugadores sj;
	
	public BatallonDefensivo(Tecnico tecnico)
	{
		this.tec = tecnico;
		sj = tecnico.getUltimaSJ();
	}
	
	/**
	 * Aquesta funcio et diu si ets lider de la escuada (i per
	 * tant executes getMejorJugada(). Ho decideix mirant si tens
	 * el numero ms baix de tots els jugadors
	 * 
	 * @param numJugador El teu numero de jugador
	 * @return si ets et mes baix i per tant lider.
	 */
	public boolean soyLider(int numJugador)
	{
		for (Personalitat jugador : this)
			if(jugador.numero < numJugador)
				return false;
		
		return true;
	}
	/**
	 * Sobreescriu aquest metode per implementar logiques
	 * de escuadra.
	 * 
	 * @return Les comandes decidides.
	 */
	public abstract Vector<Comando> getMejorJugada();
	
	public abstract boolean			cerrarEscuadra();
	
	public int[] getXYInicial(int numero) 
	{
		int[] xy = new int[this.size()];
		
		for(Personalitat jugador : this)
		{
			if(numero == jugador.numero)
				xy[0] = (int) jugador.xInicial;
				xy[1] = (int) jugador.yInicial;
		}
		return xy;
	}
	
}
